package cn.tedu.lbs.basic.web.filters;

import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order;

import javax.servlet.*;
import java.io.IOException;

/**
 * 当前项目 作为 入口 对请求 头Authorizaiton
 * 进行jwt解析的 向后传递解析结果的 认证过滤器逻辑
 */
@Slf4j
@Order(0)
public class MyFilter01 implements Filter {
    /**
     * servlet过滤器执行过滤的核心方法
     * 案例1: 让这个过滤器的过滤代码生效 看到过滤效果 请求经过这个过滤器
     * @param request 请求对象 Servlet协议请求 当前环境一定是HttpServletRequest
     * @param response 请求对象 Servlet协议响应 当前环境一定是HttpServletResponse 如果用过滤器拦截
     *                 相当于使用这个response输出数据
     * @param chain 连接整体过滤器的一个 管道对象 -- 过滤连
     * @throws IOException
     * @throws ServletException
     */
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        log.info("我的测试过滤器,request:{},response:{}",request,response);
        //调用过滤链对象 将请求和响应对象 向后输出传递 流程继续
        chain.doFilter(request,response);
    }
}
